Skip to content

Conversation

@ammar-agent
Copy link
Collaborator

Summary

Adds automated release workflow that builds and publishes macOS and Linux binaries when a GitHub release is published.

Release Process

  1. Bump version in (e.g., → )
  2. Commit and push the version change to main
  3. Create a draft release on GitHub with a tag (e.g., ) and write release notes
  4. Publish the draft release → triggers the workflow
  5. Wait for builds (~10-15 minutes) - binaries are automatically attached to the release

Changes

  • **** - New workflow triggered on release: published
    • Builds macOS (x64 + arm64 DMGs)
    • Builds Linux (AppImage)
    • Uses --publish always to attach artifacts to GitHub release
  • **** - Configure electron-builder to publish to GitHub releases
  • **** - Document release process and workflow maintenance

DRY Approach

The release workflow reuses the same build setup as :

  • Same dependency installation steps
  • Same build process
  • Same code signing configuration

Key difference: uses for PR verification, while uses with to attach binaries to releases.

Testing

This can be tested by:

  1. Merging this PR
  2. Creating a test release (can be deleted after)
  3. Verifying binaries are attached after workflow completes

Generated with cmux

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

- Create release.yml workflow triggered on release publish
- Configure electron-builder to publish to GitHub releases
- Add workflow documentation explaining release process
- Keep build steps in sync with build.yml for consistency

Release process:
1. Bump version in package.json
2. Create draft release with notes on GitHub
3. Publish release → workflow builds and attaches binaries
4. Users download from GitHub releases

The workflow reuses the same build setup as build.yml but publishes
artifacts to GitHub releases instead of workflow artifacts.
- Create composite action .github/actions/setup-cmux for common setup
  - Reduces 4 steps (checkout, bun, install, build) to 1 step
- Extract macOS code signing to scripts/setup-macos-signing.sh
  - Reduces ~17 lines of inline bash to 1 step
  - Makes signing logic testable locally
- Update build.yml to use composite action and signing script
- Update release.yml to use composite action and signing script

Benefits:
- Single source of truth for build setup
- Changes to build process update both workflows
- Workflows are more readable (fewer lines)
- Code signing script can be tested independently
Add contents: write permission so electron-builder can upload
binaries to GitHub releases. Without this, the default token only
has read access and uploads fail with 403.
ImageMagick must be installed before building (for icon generation),
so the build step needs to happen after platform-specific setup.
@ammar-agent
Copy link
Collaborator Author

@codex review

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Icons are generated during build, so ImageMagick must be installed
before building in both CI and release workflows.
@ammar-agent
Copy link
Collaborator Author

@codex review

@ammario ammario merged commit 747ae0f into main Oct 10, 2025
6 of 7 checks passed
@ammario ammario deleted the add-release-workflow branch October 10, 2025 20:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants